<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
  <style>
    header {
      background-color: red;
      width: 100%;
    }

    body {
      min-width: 550px;
      width: 100%;
      height: 100%;
    }

    .wrap {
      padding: 0 150px 0 200px;
    }

    .left {
      width: 200px;
      height: 100%;
      background-color: rgb(15, 168, 38);
      margin-left: -100%;
      position: relative;
      right: 200px;
    }

    .center {
      background-color: antiquewhite;
      width: 100%;
      height: 100%;
    }

    .right {
      width: 150px;
      height: 100%;
      background-color: aquamarine;
      margin-right: -150px;
    }

    .column {
      float: left !important;
    }

    /* 清除浮动 */
    .wrap::after {
      content: "";
      display: table;
      clear: left;
    }

    .footer {
      background-color: blue;
      width: 100%;
    }
  </style>
</head>

<body>
  <header>头部内容</header>
  <div class="wrap">
    <div class="center column">中间内容</div>
    <div class="left column">左侧</div>
    <div class="right column">右侧</div>
  </div>
  <!-- footer收到浮动影响 需要清楚浮动 可以在.wrap:after中添加clear:both -->
  <div class="footer">底部内容</div>
</body>

</html>